//
//  RMUserModel.swift
//  TestDemo
//
//  Created by xiong on 2025/8/28.
//

import UIKit
@objcMembers
class RMUserModel: NSObject {
    // MARK: - 基本信息
    var userId: String = ""             // 房间时，等于roomJid
    var roomId: String = ""             // 接口的roomId
    var userNickname: String = ""       // 群组时为群组名
    var account: String = ""            // 即时通讯号
    var remarkName: String = ""         // 备注
    var describe: String = ""           // 描述
    var createUserId: String = ""       // 创建者userId
    var role: [NSNumber] = []           // 身份数组
    var userDescription: String = ""
    var from: String = ""               // 消息来自
    var fromUserName: String = ""
    
    // 头像信息
    var headimageurl: String = ""       // 用户头像
    var headimgurl: String = ""
    var userHead: String = ""
    
    // 最新消息相关
    var type: NSNumber = 0
    var content: String = ""
    var objectId: String = ""
    var timeSend: Double = 0.0
    
    // 群离线消息
    var isSeq: NSNumber = 0
    var groupStartTime: Double = 0.0
    var groupLastTime: Double = 0.0
    var groupOfflineStartSeq: Int = 0
    var groupOfflineEndSeq: Int = 0
    
    var maxSeqNo:String = ""
    var loseSeqNos:String = ""
    
    // 其他状态
    var downloadTime: Double = 0.0
    var chatRecordTimeOut: String = ""
    var groupChatSyncTimeLen: String = ""
    var talkTime: NSNumber = 0
    var memberTalkTime: NSNumber = 0
    var isBlack: NSNumber = 0
    var timeCreate: Double = 0.0
    var myJoinTime: Double = 0
    var joinSeqNo: String = ""
    var roomFlag: NSNumber = 0
    var msgsNew: NSNumber = 0
    var status: NSNumber = 0
    var userType: NSNumber = 0
    var subUserType: NSNumber = 0
    var companyId: NSNumber = 0
    var isMySend: NSNumber = 0
    var showRead: NSNumber = 0
    var showMember: NSNumber = 0
    var allowSendCard: NSNumber = 0
    var maxCount: NSNumber = 0
    
    // 群权限控制
    var allowInviteFriend: NSNumber = 1
    var allowUploadFile: NSNumber = 1
    var allowConference: NSNumber = 1
    var allowSpeakCourse: NSNumber = 1
    var allowOpenLive: NSNumber = 1
    var isNeedVerify: NSNumber = 0
    
    // 群聊附加属性
    var topTime: Double = 0.0
    var encryptType: NSNumber = 0
    var lastInput: String = ""
    var groupStatus: NSNumber = 0
    var isupdate: NSNumber = 0
    var isOpenReadDel: NSNumber = 0
    var isReadDel: NSNumber = 0
    var isAutoSpeech: NSNumber = 0
    var phoneRemark: String = ""
    
    // 消息通知与水印
    var offlineNoPushMsg: NSNumber = 0
    var isUseNewsExpress: NSNumber = 0
    var isSendMsgState: NSNumber = 0
    var showMarker: NSNumber = 0
    var markerContent: String = ""
    
    // 群消息提醒
    var isAtMe: NSNumber = 0
    var isMenbersFollow: NSNumber = 0
    
    // 多点登录相关
    var isOnLine: NSNumber = 0
    var isSendRecipt: NSNumber = 0
    var isDevice: NSNumber = 0
    
    // 群类型和时间
    var category: NSNumber = 0
    var joinTime: Double = 0.0
    
    // 密钥相关
    var publicKeyDH: String = ""
    var publicKeyRSARoom: String = ""
    var chatKeyGroup: String = ""
    var isSecretGroup: NSNumber = 0
    var isLostChatKeyGroup: NSNumber = 0
    
    // 序列号
    var seqNoModel: AnyObject? = nil    // 可替换成实际类型
    
    // 私密模式
    var isHideSession: Bool = false
    var hiding: String = "0"
    
    // 群组角色
    var roomRole: NSNumber = 0
    var recommendedGroup: NSNumber = 0
    var isSelect: NSNumber = 0
    
    // MARK: - 用户个人信息
    var telephone: String = ""          // 带区号
    var phone: String = ""              // 未加区号
    var password: String = ""
    var birthday: Double = 0.0
    var companyName: String = ""
    var model: String = ""
    var osVersion: String = ""
    var serialNumber: String = ""
    var location: String = ""
    var sex: NSNumber = 0               // 0 女 1 男
    var countryId: NSNumber = 0
    var provinceId: NSNumber = 0
    var cityId: NSNumber = 0
    var areaId: NSNumber = 0
    var latitude: NSNumber = 0
    var longitude: NSNumber = 0
    var level: NSNumber = 0
    var vip: NSNumber = 0
    var fansCount: NSNumber = 0
    var attCount: NSNumber = 0
    var friendCount: String = ""
    var areaCode: String = ""
    var isBeenBlack: NSNumber = 0
    var myInviteCode: String = ""
    var setAccountCount: String = ""
    var showLastLoginTime: NSNumber = 0
    var notSeeHim: NSNumber = 0
    var notLetSeeHim: NSNumber = 0
    var isOpenVideo: NSNumber = 0
    
    // 隐私设置
    var chatSyncTimeLen: String = ""
    var friendsVerify: String = ""
    var isEncrypt: String = ""
    var isTyping: String = ""
    var isVibration: String = ""
    var multipleDevices: String = ""
    var authSwitch: String = ""
    var isUseGoogleMap: String = ""
    var payPassword: String = ""
    var oldPayPassword: String = ""
    var isPayPassword: NSNumber = 0
    var beInvitedJoinRoom: String = "0"
    var phoneSearch: String = "1"
    var nameSearch: String = "1"
    var isOpenPrivacyPosition: String = "0"
    var isPublicLocation: String = "0"
    
    // 钱包
    var walletId: String = ""
    var realNameCertified: NSNumber = 0
    
    // 消息设置
    var isSkidRemoveHistoryMsg: String = "0"
    var isShowMsgState: String = "0"
    
    var num: Int = 0
    
    // 朋友圈 & 收藏
    var msgBackGroundUrl: String = ""
    var filterCircleUserIds: [String] = []
    var favorites: [String] = []
    
    // 短信验证码
    var verificationCode: String = ""
    
    // 店铺相关
    var isShop: Bool = false
    var shopId: String = ""
    var myselfType: Int = 0
    var shopStatus: Int = 0
    var inviteCode: String = ""
    
    // 电话记录
    var phoneDic: [String: String] = [:]
    var headUrl: String = ""
    var addRoomDetails: String = ""
    var inviteUserNickName: String = ""
    var inviteUserId: String = ""
    var hideSessionPassword: String = ""
    var allowLocation: Int = 0
    
    // 临时存储
    var tempAtMember: String = ""
    var tempAtRoomJid: String = ""
    
    // 视频相关
    var userLastVideoId: String = ""
    var userVideoFirstImageStr: String = ""
    var vipInventory: Int = 0
    var vipExpiryTime: Int = 0
    var vipType: Int = 0
}
